snippet cls "class .. (class)"
class ${1:`!p snip.rv = snip.basename or "name"`}
{
public:
	${1/(\w+).*/$1/} (${2:arguments});
	virtual ~${1/(\w+).*/$1/} ();
	${1/(\w+).*/$1/} (${1/(\w+).*/$1/} const&);
	${1/(\w+).*/$1/}& operator= (${1/(\w+).*/$1/} const&); 

private:
	${0:/* data */}
};
endsnippet
